Basic Communications Program
Malcom Kemp
April 3, 2000

This program was written to facilitate the development of a communications program for the PIC 
microcontroller.  The overriding criteria were to be able to deliver precise 8-bit values to the PIC 
over the RS-232 Tx line, and to receive and display precise 8-bit values from the PIC over the Rx 
line.  This program was developed from a program that Adam Davis made available through the 
PICLIST (PIC microcontroller discussion list).

The USART on the PC can be explicitly controlled through the Settings menu selection.  When 
any of the Port, Speed, Data Bits, Parity, or Stop Bits selections are changed, the port is 
disconnected, the change made, and then the port is reconnected, if it was open to start.  There is 
a small chance that data may be lost in this transition.  It is expected that the port will be set to the 
proper operating parameters before the port is connected.

The View menu selection will set the display of the output string and the response string to 
either an escaped ASCII, or to a hex display.  The hex display is a two character hex 
representation of each byte separated by a space.  The ASCII display displays printable 
characters, but will escape non-printable characters with a \ character as follows:

	\b	backspace, hex byte 0x08
	\t	tab, hex byte 0x09
	\n	new line (line feed), hex byte 0x0A
	\r	return, hex byte 0x0D
	\xHH	any unprintable hex character 0xHH
	\\	backslash character \

The output string can be edited at any time, just follow the rules of the display.  For the hex 
display, the hex characters must be space delimited.  The field will be read, edited and rewritten 
when you leave the field.  Be sure what is written back is what you intended.

The send button will transmit the output string out the RS-232 transmit of the selected port.

The clear buttons can be used to clear the contents of the output string or the response string at 
any time.

Although there is a limited space for display of the output string and the response string, they can 
actually be very long.  The cursor is left at the right end of the string, but you can use the home, 
end and arrow keys to view portions of the string that may be hidden.
